package com.rc.web.mapper;

import com.mybatisflex.core.BaseMapper;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper;
import com.rc.pojo.dto.task.TaskQuery;
import com.rc.pojo.po.Task;
import com.rc.pojo.vo.task.TaskPageVO;

import static com.rc.pojo.po.table.TaskTableDef.TASK;

/**
 * 任务表 映射层。
 * 提供任务相关的数据库操作接口
 */
public interface TaskMapper extends BaseMapper<Task> {

    /**
     * 分页查询任务
     * @param query 分页查询条件
     * @return 分页结果
     */
    default Page<TaskPageVO> selectPage(TaskQuery query){
        return paginateAs(query.getCurrent(),query.getPageSize(), QueryWrapper.create()
                .where(TASK.TITLE.like(query.getTitle())), TaskPageVO.class);
    }
}
